package com.ideabag.playtunes.dialog; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.inputmethod.EditorInfo; import android.widget.EditText; import android.widget.TextView; import android.widget.TextView.OnEditorActionListener; import android.widget.Toast; import com.ideabag.playtunes.PlaylistManager; import com.ideabag.playtunes.R; public class CreatePlaylistDialogFragment extends DialogFragment implements OnEditorActionListener { private EditText mEditText; private PlaylistManager mPlaylistManager; private String mMediaID = null; public CreatePlaylistDialogFragment() { setStyle( STYLE_NORMAL, 0 ); } public void setMediaID( String media_id ) { this.mMediaID = media_id; } @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate( R.layout.dialog_frament_newplaylist, container); mEditText = ( EditText ) view.findViewById( R.id.NewPlaylistName ); getDialog().requestWindowFeature( Window.FEATURE_NO_TITLE ); mPlaylistManager = new PlaylistManager( getActivity() ); mEditText.setOnEditorActionListener( this ); mEditText.setSelected( false ); view.findViewById( R.id.DialogConfirm ).setOnClickListener( headerButtonClickListener ); view.findViewById( R.id.DialogCancel ).setOnClickListener( headerButtonClickListener ); //view.findViewById( R.id.DialogCloseButton ).setOnClickListener( headerButtonClickListener ); return view; } @Override public void onStart() { super.onStart(); if ( android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB ) { getDialog().getWindow().setBackgroundDrawableResource( R.drawable.gb_dialog_background ); } mEditText.performClick(); } private View.OnClickListener headerButtonClickListener = new View.OnClickListener() { @Override public void onClick(View v) { int id = v.getId(); if ( id == R.id.DialogCancel ) { dismiss(); } else if ( id == R.id.DialogConfirm ) { createPlaylist(); } } }; private void createPlaylist() { String playlistName = mEditText.getEditableText().toString().trim(); if ( null == playlistName || playlistName.length() < 1 ) { Toast.makeText( getActivity(), getString( R.string.playlist_enter_name ), Toast.LENGTH_SHORT ).show(); } else { if ( playlistName.toLowerCase().equals( getString( R.string.playlist_name_starred ).toLowerCase() ) ) { Toast.makeText( getActivity(), getString( R.string.playlist_cant_name_starred ), Toast.LENGTH_SHORT ).show(); } else { int playlist_id = mPlaylistManager.createPlaylist( playlistName ); if ( null != mMediaID ) { mPlaylistManager.addSong( "" + playlist_id, mMediaID ); Toast.makeText( getActivity(), getString( R.string.playlist_added_song_to_new ) + " " + playlistName, Toast.LENGTH_SHORT ).show(); } else { Toast.makeText( getActivity(), getString( R.string.playlist_created ) + " " + playlistName, Toast.LENGTH_SHORT ).show(); } dismiss(); } } } public boolean onEditorAction( TextView v, int actionId, KeyEvent event ) { if (EditorInfo.IME_ACTION_DONE == actionId) { // Return input text to activity //EditNameDialogListener activity = (EditNameDialogListener) getActivity(); //activity.onFinishEditDialog(mEditText.getText().toString()); createPlaylist(); return true; } return false; } }